package com.reder.practice.dao;

import com.reder.practice.bean.User;

import java.util.List;

/**
 * 用户持久层
 *
 * @author Fish
 * <p>Email: fishinlove@163.com</p>
 * <p>created by 2019/09/20 16:05:06</p>
 */
public interface UserDao {
    int deleteByPrimaryKey(Long id);

    int insert(User record);

    int insertSelective(User record);

    User selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(User record);

    int updateByPrimaryKey(User record);

    // 查询用户列表
    List<User> listUsers();

    // 根据用户昵称查询用户信息
    User selectByNickname(String nickname);

    // 统计用户昵称存在个数
    int countByNickname(String nickname);

    // 增加关注数量
    int incrementFollowAmount(long id);

    // 增加粉丝数量
    int incrementFollowerAmount(long id);

    // 减少关注数量
    int decrementFollowAmount(long id);

    // 减少粉丝数量
    int decrementFollowerAmount(long id);
}